/*
 * ChatRecibir.cpp
 *
 *  Created on: 14/05/2013
 *      Author: Juliansci
 */

#include <iostream>
#include "ChatRecibirServer.h"
#include "Connection.h"
#include "Server.h"
#include "ParserRed.h"
#include <vector>


using namespace std;

void ChatEnviarServer::run() {
	cout << "inicio enviar server" << endl;
	string mensajeActual;
	while(trabajando){
		Sleep(1000);
		while(this->server->getMensajesChat()->size() > 0){
			mensajeActual = this->server->getMensajesChat()->front();
			cout << "agarra mensaje nuevo: " << mensajeActual << endl;
			this->server->getMensajesChat()->pop();
			this->enviarMensajes(mensajeActual);
		}

	}
}


void ChatEnviarServer::enviarMensajes(string mensaje) {
	ParserRed parserRed;
	vector<string> datosMensaje = parserRed.parsearData('|',mensaje);
	string usuarioInicio = datosMensaje.at(0);
	string mensajeLimpio = datosMensaje.at(1);
	string usuarioDestino = datosMensaje.at(2);
	stringstream ss;
	ss << usuarioInicio << "|" << mensajeLimpio << "|";
	string mensajeAEnviar = ss.str();
	Connection* conn = this->server->getJugadoresSockets().find(usuarioDestino)->second;

	cout << "3. mensaje a enviar en chatEnviarServer: " << mensajeAEnviar << endl;
	conn->sendData(mensajeAEnviar);
}

